The present invention relates to computer animation. More specifically, the present invention relates to enhanced user interfaces for object creation and animation.
Throughout the years, movie makers have often tried to tell stories involving make-believe creatures, far away places, and fantastic things. To do so, they have often relied on animation techniques to bring the make-believe to “life.” Two of the major paths in animation have traditionally included, drawing-based animation techniques and stop motion animation techniques.
Drawing-based animation techniques were refined in the twentieth century, by movie makers such as Walt Disney and used in movies such as “Snow White and the Seven Dwarfs” (1937) and “Fantasia” (1940). This animation technique typically required artists to hand-draw (or paint) animated images onto a transparent media or cels. After painting, each cel would then be captured or recorded onto film as one or more frames in a movie.
Stop motion-based animation techniques typically required the construction of miniature sets, props, and characters. The filmmakers would construct the sets, add props, and position the miniature characters in a pose. After the animator was happy with how everything was arranged, one or more frames of film would be taken of that specific arrangement. Stop motion animation techniques were developed by movie makers such as Willis O'Brien for movies such as “King Kong” (1933). Subsequently, these techniques were refined by animators such as Ray Harryhausen for movies including “Mighty Joe Young” (1948) and Clash Of The Titans (1981).
With the wide-spread availability of computers in the later part of the twentieth century, animators began to rely upon computers to assist in the animation process. This included using computers to facilitate drawing-based animation, for example, by painting images, by generating in-between images (“tweening”), and the like. This also included using computers to augment stop motion animation techniques. For example, physical models could be represented by virtual models in computer memory, and manipulated.
One of the pioneering companies in the computer aided animation (CAA) industry was Pixar, dba Pixar Animation Studios. Over the years, Pixar developed and offered both computing platforms specially designed for CAA, and Academy-Award® winning rendering software known as RenderMan®.
Over the years, Pixar has also developed software products and software environments for internal use allowing users (modelers) to easily define object rigs and allowing users (animators) to easily animate the object rigs. Based upon such real-world experience, the inventors of the present invention have determined that additional features could be provided to such products and environments to facilitate the object definition and animation process. One such feature includes methods and apparatus for facilitating the definition of custom toolbars according to individual user preference.
The inventors of the present invention recognize that many software packages provide a method for users to define a customize display of operational controls via a “toolbar” mechanism. As is known, toolbars are typically a collection of commands, actions and/or functions that are displayed to the user in a separate window on a computer display. To customize such toolbars, the inventors have determined that many packages require a user to work in an highly disruptive way to add commands to a toolbar. For example, in the Microsoft Word program, a user selects from the main application menu bar the “View” drop-down menu, select the “toolbars” drop-down menu, and then selects the “customize” button. After this, a dialog window provides the user with a scrolling list of the possible system commands. To add a command to a toolbar, the user drags the command from the list and on to the toolbar to be customized. After this, the user manually closes the dialog window, for example, with a left mouse button click.
FIGS. 1A-B illustrate a typical process for customizing a toolbar. For example, in a toolbar 100, icons 110 typically do not represent the functionality required by a user. Accordingly, to add the functionality to the toolbar, users open the dialog box or function window via the drop-down menu. As illustrated in the example in FIG. 1A, a customization dialog 120 is presented to the user. Next, the user selects a command from list 130, and drags it to a particular location on toolbar 100. As illustrated in FIG. 1B, in response to the customization, toolbar 100 will then include the requested icon 140 and functionality. Finally, the user manually clicks on button 150 using a left mouse button, for example, to close the open dialog box.
The inventors of the present application have discovered that these methods are very inefficient for object animators and object modelers and for any users who need to frequently change the function of the toolbar. Although these method for customizing a toolbar may be adequate for most users, in the present applications, because the users change tasks and modes frequently, these customization methods are highly disruptive. As illustrated, each time a function needs to be added to a toolbar, the user must leave the primary work space, navigate to the menu structure, open a customization window on top of the primary work space, perform the customization, save the customization, select the added function on the toolbar, then manually close the customization window on top of their primary work space.
FIGS. 2A-B illustrate a compressed toolbar example. FIG. 2A illustrates a toolbar 200 for a conventional drawing program. In this example, when a user clicks upon an icon location 210 using a right mouse button, for example, functions/icons 220 that share the same icon location 210 are displayed to the user, as illustrated in FIG. 2B. Next, the user clicks upon one of icons 220 using a left mouse button, for example, to select that icon for icon location 210 on toolbar 200. After selection of one of icons 220, that icon replaces the icon originally displayed.
The compressed toolbar is used to save screen space. In this example, if toolbar 200 were enlarged to show all the “sub-icons” that are selectable at all of the icon locations, toolbar 200 would take up a large portion of the screen. Accordingly, by having one icon location 210 associated with several pre-defined icons 220, toolbar 200 is thus compressed.
Drawbacks to the compressed toolbar technique include that a user is limited to the pre-defined functions (“sub-icons”) associated with each icon location. Another drawback is that the pre-defined functions can only be selected from particular icon locations. For instance, icon location 210 may represent a pencil function. In FIG. 2B, when icon location 210 is expanded, pre-defined functions are illustrated, such as pencil drawing, pen drawing, and eraser. These pre-defined functions are fixed and only available when the user selects icon location 210 in the toolbar. Another drawback is that, the user has to give-up one function (icon) in order to add another function (icon). For example, the only way to add an eraser function (icon) to the toolbar is to lose a pencil function (icon) from the toolbar. Further, to add the pencil function, the toolbar loses the eraser function. Accordingly, the compressed toolbar technique has significant drawbacks.
In light of the above, the inventors of the present invention have determined that improved methods for adding functionality to toolbars are needed without the drawbacks illustrated above.